package stream.demo02;

import java.sql.SQLOutput;
import java.util.ArrayList;

//中间操作二
//<R> Stream<R> map(Function mapper) 返回由给定函数应用于此流的元素的结果组成的流
//IntStream mapToInt(ToIntFunction mapper)返回一个IntStream其中包含将给定函数应用于此流的元素的结果
public class StreamDemo02 {
    public static void main(String[] args) {

        //创建一个集合对象
        ArrayList<Integer> arr = new ArrayList<>();

        //添加对象
        arr.add(23);
        arr.add(34);
        arr.add(12);
        arr.add(20);

        //生成流
        //Function是一个接口,在该接口存在一个抽象方法R apply(T t);
        //该方法是有参数和返回值的,返回值类型可以和参数不同
        //类型转换
        arr.stream().map((s)->{
            //把int类型的数据转换成字符串
            String si = String.valueOf(s);
            //返回
            return si ;
        }).forEach(s-> System.out.println(s));

        System.out.println("--------------");

        //mapToInt
        arr.stream().map(s->String.valueOf(s)).mapToInt(
                (s)->{
                    int i = Integer.parseInt(s);
                    i=i+10;
                    return i;
                }
        ).forEach(s-> System.out.println(s));
    }
}
